using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using Reniec.Entity.Layer;
using Reniec.Interface.Layer;
using Reniec.Data.Layer.Base;
using System.Data.Common;
using System;

namespace Reniec.Data.Layer
{

    public class Persona_DA : AdGenerico, IL_Persona
	{
        
        public List<Persona_EL> ListPerson(Persona_EL ObjPersona)
        {
            ArrayGenericos<Persona_EL> ColeccionPersons = new ArrayGenericos<Persona_EL>();
            try
            {
                using (IDataReader dr = _db.ExecuteReader("sp_reniec_consulta", ObjPersona.Str_numero_documento, ObjPersona.Txt_huella))
                {
                    while (dr.Read())
                    {
                        ColeccionPersons.Add(PopulateEntity.ListPersons(dr));
                    }
                }
            }catch (Exception ex) {
                throw new ApplicationException("Error: " + ex.Message.ToString()); 
            }
            
        return ColeccionPersons;
        }
        
        //private Persona_BE MapDataReader(SqlDataReader dataReader)
        //{
        //    Persona_BE persona_BE = new Persona_BE();
        //    persona_BE.Int_persona_id = dataReader.GetInt32("int_persona_id", 0);
        //    persona_BE.Int_direccion_id = dataReader.GetInt32("int_direccion_id", 0);
        //    persona_BE.Int_tipo_documento_id = dataReader.GetInt32("int_tipo_documento_id", 0);
        //    persona_BE.Str_numero_documento = dataReader.GetString("str_numero_documento", null);
        //    persona_BE.Str_nombre = dataReader.GetString("str_nombre", null);
        //    persona_BE.Str_apellido_paterno = dataReader.GetString("str_apellido_paterno", null);
        //    persona_BE.Str_apellido_materno = dataReader.GetString("str_apellido_materno", null);
        //    persona_BE.Chr_genero = dataReader.GetString("chr_genero", String.Empty);
        //    persona_BE.Int_edad = dataReader.GetInt32("int_edad", 0);
        //    persona_BE.Txt_foto = dataReader.GetString("txt_foto", null);
        //    persona_BE.Txt_huella = dataReader.GetString("txt_huella", null);
        //    persona_BE.Chr_estado = dataReader.GetString("chr_estado", String.Empty);

        //    return persona_BE;
        //}

        //#endregion
	}
}
